feat(ios): support external xctest runner artifact#806
Conversation
|
Took a careful pass (also in the context of #807, which this pairs with). The external-artifact feature is gated cleanly behind unset env vars, so the default path is unaffected. Two things I'd want to resolve before merge, plus a minor: 1. Session reuse treats every external session as stale. 2. Relocating the env overlay may break 3. (minor) Default Nice test coverage on the new functions otherwise. (1) is the one I'd really like confirmed given you're targeting device farms + prewarm. Generated by Claude Code |
|
btw, instead of using env vars we could reuse our config mechanism and add new keys (e.g. #807 can stay as an env var because it realistically can't be anything else. |
Summary
agent-device might be used in contexts where you don't control the signing for iOS apps. One example is using agent-device for automation on device farm providers, such as AWS devicefarm.
We can't build the XCUITest package and sign it on the AWS devicefarm runner as no provisioning profiles are available there.
What works though, is building the XCUITest package beforehand without signing, upload it to AWS, and AWS will sign it for you so that it can be consumed.
This PR adds support to allow providing an "external" XCUITest package.
We already landed a similar approach in harness (for the same reason):
Test plan
AI was so kind to add some unit tests.
Additionally i tested those changes for myself on AWS and it works well. Let me know if anything else is needed :)